#include <stdio.h>
#include <stdlib.h>

// Número de iterações 10^9
#define N 1000000000

int main(int argc, char *argv[]){

	double x, y, pi;
	int p = 0, i;
	unsigned short xsubi[3];

	for(i = 0; i < N; i++){

		// Geração aleatória dos pontos (x,y)
		x = erand48(xsubi);
		y = erand48(xsubi);

		// Equação da circunferência de raio 1 (verifica se [x,y] estão dentro dela)
		if((x*x) + (y*y) <= 1.f)
			++p;
	}

	// Cálculo do PI
	pi = 4.f * (((double) p) / ((double) N));
	printf("%.6f", pi);

	return 0;
}
